
  //模块定义
  var modules = {
    //key 模块ID是此模块相对于项目根目录的相对路径
    //值是一个函数 其实就是一个commonjs风格的函数 module.exports
    './src/title.js': (module) => {
      module.exports = 'title';
    },
  };
  //模块的缓存
  var cache = {};
  //加载一个模块 并且返回模块的导出结果，并且把结果放入缓存中，下次加载就直接取缓存就可以了
  function require(moduleId) {
    var cachedModule = cache[moduleId];//获取缓存的模块
    if (cachedModule !== undefined) {
      return cachedModule.exports;//缓存里有就直接返回
    }
    //定义新的模块当如缓存
    var module = (cache[moduleId] = {
      exports: {},
    });
    modules[moduleId](module, module.exports, require);
    return module.exports;
  }
  debugger
  var exports = {};
  let title = require('./src/title.js');
  console.log(title);


//commonjs规范 浏览器不认
//webpack打包代码，自己实现了commonjs规范 自己实现了require方法
//1.wepack打包后文件长什么样子
//2.打包后的代码里模块是如何定义的？如何加载的？